package br.com.unirio.autocar.temp;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.util.List;

import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Font;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;

public class OldGeradorDePdf
{

    private static Font fonteDescricao = new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD);

    public static void geraPdf(String caminho, OldDto dto) throws FileNotFoundException, DocumentException
    {
	Document documento = new Document();
	PdfWriter.getInstance(documento, new FileOutputStream(caminho + "pdfgerado.pdf"));
	documento.open();
	documento.add(adicionaParametros(dto, "1"));
	documento.addAuthor("Alessandro Campello");
	documento.close();

    }

    private static Paragraph adicionaParametros(OldDto dto, String numero)
    {
	String recuo = calculaRecuo(numero);
	Paragraph preface = new Paragraph();
	preface.add(new Paragraph(" "));
	preface.add(new Paragraph(recuo + numero + " " + dto.getDescricao(), fonteDescricao));
	preface.add(new Paragraph(recuo + "-" + dto.getConteudo1(), fonteDescricao));
	preface.add(new Paragraph(recuo + "-" + dto.getConteudo2(), fonteDescricao));
	List<OldDto> filhos = dto.getFilhos();
	int count = 1;
	for (OldDto filho : filhos)
	{
	    preface.add(adicionaParametros(filho, numero + "." + (count++)));
	}
	return preface;
    }

    private static String calculaRecuo(String numero)
    {
	String resultado = " ";
	for (int i = 0; i < numero.length(); i++)
	{
	    resultado += "  ";
	}
	return resultado;
    }

}
